package edu.eam.gruposenior.gestorLEcciones.controladores;

import java.util.List;

import javax.persistence.EntityManager;

import edu.eam.gruposenior.gestorLEcciones.entidades.Proyecto;
import edu.eam.gruposenior.gestorLEcciones.entidades.Tecnologia;
import edu.eam.gruposenior.gestorLEcciones.util.FactoryEntityManager;

public class TecnologiaController {

	private EntityManager em = FactoryEntityManager.getEm();

	public void crearTecnologia(String nombre, String descripcion) {

		em.getTransaction().begin();

		Tecnologia tecnologia = new Tecnologia();

		tecnologia.setNombre(nombre);
		tecnologia.setDescripcion(descripcion);

		em.persist(tecnologia);

		em.getTransaction().commit();

	}

	public void editarTecnologia(String nombre, String descripcion)
			throws Exception {
		Tecnologia tecnologia = buscarTecnologia(nombre);

		if (tecnologia != null) {
			em.getTransaction().begin();

			tecnologia.setNombre(nombre);
			tecnologia.setDescripcion(descripcion);

			em.merge(tecnologia);

			em.getTransaction().commit();
		} else {
			throw new Exception("No existe la tecnologia");
		}

	}

	public Tecnologia buscarTecnologia(String nombre) {
		Tecnologia tec=null;
		
		 List<Tecnologia> lisTec=em
				.createNamedQuery(Tecnologia.FIND_TECNOLOGIA_BY_NOMBRE)
				.setParameter(Proyecto.PARAMETRO_NOMBRE, nombre)
				.getResultList();
		 
		 if(lisTec.size()>0){
			 tec= lisTec.get(0);
		 }
		 
		 return tec;
	}

	public List<Tecnologia> tecnologias() {
		return FactoryEntityManager.getEm()
				.createNamedQuery(Tecnologia.FIND_ALL).getResultList();
	}

}
